package linkedList.分离合并;

import linkedList.BaseLinkedListTest;
import po.ListNode;

/**
 * @author songZiHao
 * @version 1.0.0
 * @ClassName 面试题分割链表0204.java
 * @Description TODO
 * @createTime 2021年03月23日 10:47:00
 */
public class 面试题分割链表0204 extends BaseLinkedListTest {
    public ListNode partition(ListNode head, int x) {
        if (head == null) {
            return head;
        }
        //todo 按照x分组链表
        ListNode temp=head;
        ListNode lager=new ListNode();
        ListNode small=new ListNode();
        ListNode lagerTemp=lager,smallTemp=small;
        while (temp != null) {
            if (temp.val < x) {
                smallTemp.next=temp;
                smallTemp=smallTemp.next;
            }else {
                lagerTemp.next=temp;
                lagerTemp=lagerTemp.next;
            }
            temp=temp.next;
        }
        //todo 合并链表
        lagerTemp.next=null;
        smallTemp.next=lager.next;
        return small.next;
    }
}
